package top.superflow.flow.runtime.inf

import top.superflow.lang.StringUtils

trait SchemaCategory {

}

case class JsonSchemaCategory private[inf] () extends SchemaCategory

case class EmptySchemaCategory private[inf] () extends SchemaCategory

case class ClassSchemaCategory private[inf] () extends SchemaCategory

object SchemaCategory {
  final val JSON_SCHEMA = "json"

  final val CLASS_SCHEMA = "class"

  def getSchemaCategory (str : String):SchemaCategory = {
    if(StringUtils.equalsIgnoreCase("str", JSON_SCHEMA)){
      return new JsonSchemaCategory
    }

    if(StringUtils.equalsIgnoreCase("str", CLASS_SCHEMA)){
      return new ClassSchemaCategory
    }

    getSchemaCategory
  }

  def getSchemaCategory :SchemaCategory = {
    new EmptySchemaCategory
  }
}



